package com.cooksys.film_rental.bo;

import com.cooksys.film_rental.model.Customer;
import com.cooksys.film_rental.model.forms.ProfileForm;

/**
 * Business object for the {@link ProfileForm} class
 * 
 * @author Peter Zastoupil
 * 
 */
public interface ProfileFormBo {

	/**
	 * 
	 * @param customer
	 *            the {@link Customer} to be used in populating the values in
	 *            the profile form
	 * @return a {@link ProfileForm} filled out with the values specified by the
	 *         given {@link Customer}, or an empty form if the given customer is
	 *         <code>null</code>.
	 */
	public ProfileForm populateProfileFormByCustomer(Customer customer);

	/**
	 * 
	 * @param profileForm
	 *            the {@link ProfileForm} to be used in updating its associated
	 *            customer
	 * @return the {@link Customer} record from the databse that has been
	 *         updated, or null if the update failed
	 */
	public Customer updateCustomerFromProfileForm(ProfileForm profileForm);

}
